Device Provisioning

ABSTRACT

A method and system of provisioning a set-top box (STB) with a STB provisioning system are provided which include storing STB profile information in a provisioning datastore, receiving a customer order at a service provisioning system, notifying a billing system of the customer order, and notifying a conditional access system of the customer order. The method and system further include storing information from the customer order in a provisioning datastore, notifying a video device manager about the STB, and delivering a cable operator configuration message from the video device manager to the STB, the configuration message being based on information from the provisioning datastore, thereby provisioning the STB without essential involvement of the conditional access system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/062,503, filed Oct. 24, 2013, which is a continuation of U.S. patentapplication Ser. No. 12/785,190, filed May 21, 2010, which is acontinuation of U.S. patent application Ser. No. 10/599,498, filed Sep.29, 2006, now U.S. Pat. No. 7,827,573 issued on Nov. 2, 2010, which is anational phase filing of international application No. PCT/US05/011481filed Apr. 5, 2005, which claims priority to U.S. provisionalapplication No. 60/559,554 filed Apr. 5, 2004, the entire disclosures ofwhich are herein incorporated by reference.

BACKGROUND OF THE INVENTION Field of the Invention

The invention relates to a method and system for provisioning a set-topbox (STB). The invention further relates to content distributionnetworks for audio and video programming that involve conditional accesssystems and set-top boxes.

Background Art

In a traditional STB provisioning system, the billing system providesall order functionality, and the conditional access controller providesall STB authorization and configuration management functionality. Morespecifically, any STB configuration parameters must be supported by theconditional access controller software and signaling protocols. Thisarrangement, although suitable in many applications, limits flexibilityin deploying new services that involve the STB.

There are also traditional high speed data provisioning systems. Thesehigh speed data provisioning systems tend to treat the devices beingprovisioned as commodity devices (for example, DOCSIS cable modems). Assuch, these traditional high speed data provisioning systems do notdifferentiate among devices.

SUMMARY OF THE INVENTION

It is an object of the invention to provide an improved method andsystem for provisioning a set-top box (STB) that allows for greaterflexibility in implementing STB features. The invention comprehendsarrangements that enable STB provisioning independently of theconditional access system. In this way, some STB configurationparameters may be configured without requiring support from theconditional access controller software and signaling protocols. Thisprovides greater flexibility at the STB. This also allows theprovisioning system to differentiate among STB devices.

In carrying out the invention, a method and system for provisioning anSTB are provided. Comprehended features include enabling commonprovisioning of STBs independently of the conditional access system,incorporating hardware and software profile information (including, forexample, product certification) for STBs manufactured by one or morevendors, and accepting customer orders from retail affiliates and/oruser activation websites.

At a more detailed level, the invention involves various differentaspects. A method and system for provisioning an STB utilize a STBprovisioning system. The system receives STB profile information, STBcertification information and STB customer orders. It is appreciatedthat the information and orders received by the system may be presentedin any suitable way. The STB profile information and STB certificationinformation are preferably instantiated as XML formatted documents. AnSTB profile import tool imports the STB profile information and STBcertification information. The imported information is stored in aprovisioning datastore.

The STB customer orders are preferably instantiated as XML formatteddocuments. A service provisioning system receives the STB customerorders.

A number of provisioning activities take place after an STB customerorder is received. In more detail, the service provisioning systemchecks the customer order and notifies the billing system. The billingsystem notifies the conditional access controller. In an alternative,the service provisioning system directly notifies the conditional accesscontroller. Information relating to the STB device and customer order isstored in the provisioning datastore. The device manager and videodevice manager are notified about the STB device.

The video device manager delivers the cable operator information to theSTB in the customer's home. Any suitable delivery mechanism may be usedto deliver the configuration to the STB from the video device manager.Further, a preferred format for the configuration data uses XML.

It is appreciated that the invention comprehends a collection ofinnovations that may be used together in various arrangements to achieveSTB configuration/provisioning independently of the conditional accessmechanism. Many various implementations of the concepts of the inventionare possible.

It is appreciated that the various components discussed herein includingthe STB profile import tool, provisioning datastore, serviceprovisioning system, billing system, conditional access controller,video device manager and IP device manager may be implemented in anysuitable way as appreciated by one of ordinary skill in the relevantart. For example, various software and hardware devices may be utilizedin the implementation of the components.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a STB provisioning system according to the presentinvention with the service provisioning system interacting with theconditional access controller via the billing system;

FIG. 2 illustrates a method of the invention; and

FIG. 3 illustrates a STB provisioning system according to the presentinvention with the service provisioning system interacting directly withthe conditional access controller.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIGS. 1-3 illustrate the preferred embodiment of the invention.Accordingly, these detailed features are the preferred features, andother embodiments consistent with the concepts of the invention arepossible.

FIG. 1 illustrates a STB provisioning system 10 that enablesconfiguration of STBs 26 independently of the STB conditional access(CA) system 12. System 10 includes STB profile import tool 14,provisioning datastore 16, service provisioning system 18, devicemanager 20, and video device manager 22. Billing system 24 and STB 26are also shown.

There are at least three sources of input into the STB provisioningsystem 10, namely, STB profile information, STB certificationinformation and STB customer orders.

Profile information may include generic make and model identification,hardware and software image identification, available STB interfaces(for example, network, video, audio), hardware capabilities (forexample, hard drive characteristics), and software capabilities (forexample, multi-lingual support). The ultimate source of STB informationis the manufacturer, although this information may be redistributed byothers as appropriate.

STB certifications by CABLELABS and/or the cable operator may be grantedto a particular STB hardware make/model and software image version.Certification may also be granted for a particular subset of interfacesand hardware/software capabilities that have been implemented in the STB26. For the cable operator, certification may imply operator support forthe generic and vendor-specific features in the STB profiles.

Customer orders may include customer address and contact information,device information (for example, make and model, serial number, MACaddress, software image version), CABLECARD device information (ifapplicable), and a list of one or more cable operator services to enablefor the STB 26 (for example, analog/digital tiers, premium channels,interactive services, Internet access). Customer orders may originatefrom retailer kiosks, affiliates, or a cable operator's own STBactivation website for customer self-provisioning.

The STB profile information and STB certification information areinstantiated as XML formatted documents (using a well-known XML schemadefinition that permits vendor extensions). These XML documents aretransmitted to the operator as email attachments, as documents that areuploaded to a cable operator web portal, or as data in a web servicesAPI invocation (or any alternative EDI transaction). The XML documentsare ultimately submitted to the STB profile import tool 14, whichimports the XML document information with knowledge of the documentsource—for example, the import tool might ignore certificationattributes in an STB profile XML document that was received from apreviously unknown manufacturer. The STB profile information and STBcertification information are stored in the provisioning datastore 16.

The STB customer orders are instantiated as XML over HTTPS posts to acable operator web portal (HTTPS provides TLS authentication andencryption of the HTTP transport protocol). Unlike the STB profileinformation and STB certification information, the STB customer ordersare processed in real-time (or in near real-time). The cable operatorweb portal forwards each STB customer order to the service provisioningsystem 18.

Once the service provisioning system 18 has received the customer order,a number of provisioning activities occur. As best shown in FIG. 2, atblock 30, the service provisioning system 18 verifies that the customerorder is syntactically correct. Further, the service provisioning systemverifies the serviceability of the customer order, ensuring that thedesired cable services are available at the customer's home location.The service provisioning system 18 also verifies that the STB deviceinformation (make, model, and software image version) corresponds to anapproved, certified device, and verifies the CABLECARD deviceinformation (if applicable). With further reference to block 30, theservice provisioning system 18 notifies the billing system 24 of the newcustomer order. The customer's desired cable operator services aretranslated to billing system rate codes or service codes (depending onthe billing vendor). At block 32, the billing system 24 notifies theconditional access controller 12 of the new customer order. The ratecodes or service codes are translated to authorizations in theconditional access system. At block 34, the service provisioning system18 stores the STB device information (and CABLECARD device information,if applicable) and other customer order information in the provisioningdatastore 16. At block 36, the service provisioning system 18 notifiesthe IP device manager 20 and video device manager 22 about the STBdevice 26 (and CABLECARD device, if applicable).

An alternative STB provisioning system is shown in FIG. 3, in which theservice provisioning system 18 directly notifies (link 50) theconditional access controller 12 of the new customer order.

Referring again to FIG. 2, a key component in the STB configuration ofthe present invention is the video device manager (VDM) 22. The videodevice manager 22 delivers cable operator configuration to the STB 26 inthe customer's home using XML over HTTP/HTTPS, as well as using XML overa UDP-based protocol (block 38).

The VDM messages use a well-known XML schema definition that permitsvendor extensions, similar to the XML schema definition for STB profileinformation—this approach enables straightforward configuration ofvendor-specific features in the vendor-specific portions of the STBprofile. Additional information items in the XML configuration messagesinclude SCTE 18 Emergency Alert Signaling (EAS) configuration of the STBgeographical location (state_code, county_code, and county_subdivision),and possibly SCTE 65 Service Information (SI) configuration of theappropriate Master Guide Table for the STB (map_id) to enable multiplechannel lineups. The authoritative source of the STB configurationinformation for the VDM 22 is the provisioning datastore 16, which hasbeen previously populated by the service provisioning system 18.

There are at least three delivery mechanisms from the VDM 22 to the STB26.

In a first mechanism, the VDM 22 uses bi-directional IP unicastmessaging (e.g. XML over HTTPS) to send the configuration to the STB 26.This mechanism relies on a functioning bidirectional network between theVDM 22 and the STB 26, but it enables STB acknowledgment of the newconfiguration. The VDM 22 discovers the IP address of the STB 26 via DNSlookups (using the device serial number or MAC address as the DNShostname), leveraging the DNS server within the IP Device Manager 20.

In a second mechanism, the VDM 22 uses uni-directional IP multicastmessaging (e.g. XML over a UDP-based protocol) to send the configurationto the STB via a DOCSIS Set-top Gateway (DSG) Broadcast Tunnel. Becauseacknowledgments may be unreliable or non-existent, the VDM 22 sends suchmessages multiple times. All DSG-aware STBs receive such DSG BroadcastTunnel messages, so each XML message encodes the unique deviceinformation (e.g. serial number or MAC address) corresponding to theintended message target.

In a third mechanism, at boot-time, the STB 26 requests configurationinformation from the VDM 22, assuming bidirectional IP unicast messaging(e.g. XML over HTTPS over TCP). The STB 26 discovers the DNS hostname(or IP address) of the VDM 22 from its DOCSIS initialization process(e.g. via a DHCP option or sub-option value). The VDM 22 determines thesource STB 26 by reverse-resolving the source IP address into the DNShostname (which refers to the device serial number or MAC address) viaDNS lookups. By leveraging this message exchange, the STB 26 does nothave to store its configuration information in nonvolatilestorageZ—although leveraging NVRAM might provide more reliable serviceto the customer.

The targeted STB devices at this time for embodiments of the inventionare proprietary DOCSIS STBs and OPENCABLE Advanced Host devices. In theformer case, it is assumed that the proprietary STB software imageincludes a (lab certified) application that manages the XML protocolexchanges with the VDM 22. In the latter case, it is assumed that theOCAP Monitor App manages the XML protocol exchanges with the VDM.

In another aspect of the illustrated implementation, the video devicemanager 22 may enable Internet access on the STB 26, if the customerorder includes a request for Internet service, and if the STBhardware/software profile indicates that the STB 26 includes an Ethernetand/or USB data port that has been certified for Internet operation. Thevideo device manager 22 would include configuration information (in itsXML over HTTP(S) or in its XML over UDP message) that signals the STB 26to enable its Ethernet or USB data port, which may be electrically shutoff by default. With the Ethernet/USB data port enabled, and with theappropriate DOCSIS configuration in the STB 26 (handled separately bythe IP Device Manager 20), the customer can plug in a computer or gamestation and obtain Internet access.

It is appreciated that embodiments of the invention enable the cableoperator to accommodate many new STB manufacturers and platforms, and toselectively partner with manufacturers to enable innovative STB featuresin a timely fashion. Embodiments of the invention ease the deployment ofDOCSIS STBs (proprietary STBs and advanced hosts), and ease thedeployment of standardized EAS and SI.

Embodiments of the invention have numerous advantages over a traditionalprovisioning system. Embodiments of the invention greatly enhance thecable operator's ability to configure new features on new STB vendorplatforms. The video device manager 22 can support vendor-specificconfiguration parameters through provisioning datastore data and throughserver configuration.

Embodiments of the invention enable the cable operator to accommodatemany new STB manufacturers that are offering many new STB interfaces andcapabilities, while assisting the operator to track which interfaces andcapabilities can be enabled and managed by the operator. Embodiments ofthe invention enable the cable operator to accept customer orders fromconsumer electronic retailers, rather than forcing the customer to callthe operator directly. Embodiments of the invention enable the cableoperator to configure SCTE 18 CEAS and SCTE 65 (SI) parameters in astandard fashion, independent of the conditional access system in place.Embodiments of the invention ease the integration of STB and DOCSISdevice provisioning systems into one holistic provisioning system.

It is appreciated that embodiments of the invention are suitable forprovisioning a retail STB but are also suitable for provisioning aleased STB or any other STB. Further, XML is appropriate for presentinginformation in embodiments of the invention but other techniques andformats could be used. It is also to be appreciated that the drawingsillustrate examples for the implementation of the illustratedfunctionality but this is done only to facilitate an understanding ofthe concepts involved and one skilled in the art may implement a systemor method in a variety of ways.

While embodiments of the invention have been illustrated and described,it is not intended that these embodiments illustrate and describe allpossible forms of the invention. Rather, the words used in thespecification are words of description rather than limitation, and it isunderstood that various changes may be made without departing from thespirit and scope of the invention.

1. A method comprising: receiving, by a computing device, a servicerequest for a first network device of a plurality of network devices,wherein the service request comprises a device identifier of the firstnetwork device; and sending, by the computing device and to theplurality of network devices, a plurality of configuration messagescomprising the device identifier, wherein at least one of the pluralityof configuration messages is identifiable by the first network devicebased on the device identifier in the at least one of the plurality ofconfiguration messages.
 2. The method of claim 1, further comprising:receiving, by the computing device, device certification informationrelating to the first network device; and verifying, by the computingdevice and based on the device certification information, that the firstnetwork device is a certified device.
 3. The method of claim 1, whereinat least one of the service request or the plurality of configurationmessages comprises an Extensible Markup Language (XML)-formatteddocument.
 4. The method of claim 1, wherein the receiving the servicerequest for the first network device comprises receiving the servicerequest from a web portal.
 5. The method of claim 1, wherein theplurality of configuration messages comprise information signaling thefirst network device to enable an Ethernet data port of the firstnetwork device.
 6. The method of claim 1, wherein the plurality ofconfiguration messages further comprise a state code and a county code.7. The method of claim 1, wherein the device identifier comprises atleast one of: a device serial number associated the first networkdevice; or a media access control (MAC) address associated with thefirst network device.
 8. The method of claim 1, wherein sending theplurality of configuration messages comprises sending the plurality ofconfiguration messages via a Data Over Cable Service InterfaceSpecification Set-top Gateway (DSG) Broadcast Tunnel.
 9. The method ofclaim 1, wherein sending the plurality of configuration messagescomprises sending the plurality of configuration messages viauni-directional multicast messaging.
 10. A system comprising: aplurality of network devices comprising a first network device; and acomputing device, wherein the computing device comprises: one or morefirst processors; and first memory storing first instructions that, whenexecuted by the one or more first processors, cause the computing deviceto: receive, for the first network device, a service request comprisinga device identifier of the first network device; and send, to theplurality of network devices, a plurality of configuration messagescomprising the device identifier; and wherein the first network devicecomprises: one or more second processors; and second memory storingsecond instructions that, when executed by the one or more secondprocessors, cause the first network device to: identify, based on thedevice identifier in at least one of the plurality of configurationmessages, a response to the service request.
 11. The system of claim 10,wherein the first instructions, when executed by the one or more firstprocessors, cause the computing device to: receive device certificationinformation relating to the first network device; and verify, based onthe device certification information, that the first network device is acertified device.
 12. The system of claim 10, wherein the firstinstructions, when executed by the one or more first processors, causethe computing device to receive the service request for the firstnetwork device by: receiving the service request from a web portal. 13.The system of claim 10, wherein the second instructions, when executedby the one or more second processors, cause the first network device to:enable, based on information in the response, an Ethernet data port ofthe first network device.
 14. The system of claim 10, wherein the deviceidentifier comprises at least one of: a device serial number associatedthe first network device; or a media access control (MAC) addressassociated with the first network device.
 15. The system of claim 10,wherein the first instructions, when executed by the one or more firstprocessors, cause the computing device to send the plurality ofconfiguration messages by: sending, via a Data Over Cable ServiceInterface Specification Set-top Gateway (DSG) Broadcast Tunnel, theplurality of configuration messages to the plurality of network devices.16. The system of claim 10, wherein the first instructions, whenexecuted by the one or more first processors, cause the computing deviceto send the plurality of configuration messages by: sending, viauni-directional multicast messaging, the plurality of configurationmessages to the plurality of network devices.
 17. An apparatuscomprising: one or more processors; and memory storing instructionsthat, when executed by the one or more processors, cause the apparatusto: receive a service request for a first network device of a pluralityof network devices, wherein the service request comprises a deviceidentifier of the first network device; and send, to the plurality ofnetwork devices, a plurality of configuration messages comprising thedevice identifier, wherein at least one of the plurality ofconfiguration messages is identifiable by the first network device basedon the device identifier in the at least one of the plurality ofconfiguration messages.
 18. The apparatus of claim 17, wherein thedevice identifier comprises at least one of: a device serial numberassociated the first network device; or a media access control (MAC)address associated with the first network device.
 19. The apparatus ofclaim 17, wherein the instructions, when executed by the one or moreprocessors, cause the apparatus to send the plurality of configurationmessages by: sending, via a Data Over Cable Service InterfaceSpecification Set-top Gateway (DSG) Broadcast Tunnel, the plurality ofconfiguration messages to the plurality of network devices.
 20. Theapparatus of claim 17, wherein the instructions, when executed by theone or more processors, cause the apparatus to send the plurality ofconfiguration messages by: sending, via uni-directional multicastmessaging, the plurality of configuration messages to the plurality ofnetwork devices.